/** 客户自定义的一个服务入口程序。这个js程序可以由node直接运行 **/
// 应用框架模块
const express = require('express');
// 构建模块
const webpack = require('webpack');
// 服务模块
// 引入服务中间件框架（有点类似于netty,使用服务中间件框架，完成自定义事件回调代码开发）
const webpackDevMiddleware = require('webpack-dev-middleware');

// 实例化 APP
const app = express();
// 引入配置文件
const config = require('./webpack.config.js');
// 实例化构建模块
const compiler = webpack(config);

// Tell express to use the webpack-dev-middleware and use the webpack.config.js
// configuration file as a base.
// expressApp 中引入服务中间件（服务中间件又使用webpack构建，并指令服务中间件的公共目录）
app.use(webpackDevMiddleware(compiler, {
    publicPath: config.output.publicPath
}));

// Serve the files on port 3000.
// express启动并运行服务，监听3000端口
app.listen(3000, function () {
    console.log('Example app listening on port 3000!\n');
});
